<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<a href="text.html">训练题</a><br />
		<a href="form.html">表格</a><br />
		<button onclick="all_time()">点击运行第8题</button><br />
		<button onclick="a_random()">点击运行第9题</button><br />
		<input type="date" class="end_time" />
		<button onclick="pre()">点击运行第10题</button>
		<p class="ten"></p>
		<script type="text/javascript">
			//1.Date()与new Date()的区别
			document.write("<p>1.Date()是内置对象，new Date()是实例化内置对象Date()</p>")
			//2.var date =new Date("2016-05-31 08:00")与var date =new Date("2016/05/31 08:00")的区别
			document.write("<p>2.区别是使用横杠和斜杠分割时间")
			//3.console.log( 0.1 + 0.2 )为什么会输出 0.30000000000000004
			document.write("<p>3.number的类型是浮点型JavaScript 中的浮点数采用IEEE-754 格式的规定，这是一种二进制表示法，可以精确地表示分数，比如1/2，1/8，1/1024，每个浮点数占64位。但是，二进制浮点数表示法并不能精确的表示类似0.1这样 的简单的数字，会有舍入误差。，")
			//4.请解析以下代码为什么会输出1,2,3
			//						console.log("1");
			//						setTimeout(function() {
			//							console.log("3")
			//						}, 0);
			//						console.log("2");
			document.write("<p>4.不懂(页面中所有由setTimeout定义的操作，都将放在同一个队列中依次执行。而这个队列的执行时间需要等到函数调用栈执行完毕后才会执行，也就是等待所有的可执行代码执行完毕，才会轮到setTimeout执行其内部操作，并且按照其时延时间长短顺序执行代码！)")
			//5.请解释下面代码运行的结果
			//			var a = "one";
			//			if(a) {
			//				console.log(a == true);
			//			} else {
			//				console.log("Melon");
			//			}
			document.write("<p>5.因为a是字符窜类型，而true是布尔类型，所以当a==true的时候，会返回false")
			//6.请分析console.log(1 + - + + + - + 1)的结果为什么等于2
			document.write("<p>6.1之后的+是二元运算符。。。不懂，")
			//7.Math.round、parseInt、Math.floor和Math.ceil的区别
			document.write("<p>7.Math.round是四合五入，parseInt取整数，Math.floor向下取整，Math.ceil向上取整")
			//8.计算出计算机从一加到一百万所用的时间
			//提示，获取当前的时间戳    (new Date()).getTime()
			function all_time() {
				var start_time = Math.floor((new Date()).getTime() / 1000),
					sum = 0;
				console.log(start_time);
				for(var i = 0; i < 10000000; i++) {
					sum += i;
				}
				var end_time = (new Date()).getTime();
				var all =
					document.write(end_time - start_time);
			}

			//			console.log(sum);
			//9.输出从小到大排序好的五个不重复的随机整数,范围[10-23)
			function a_random() {
				var arr = new Array();
				for(var a = 1; arr.length < 5; a++) {
					num = (Math.floor(Math.random() * 13 + 10));
					console.log(num);
					if(arr.indexOf(num) == -1) {
						arr.push(num);
					}
				}
				arr.sort(function(a, b) {
					return a - b;
				})
				document.write(arr);
			}

			//10.实现一个必须大于当前时间的倒计时(X天X时X分X秒)

			function pre() {
				setInterval(function() {
					var now_time = Math.floor((new Date().getTime()) / 1000);
					var end_time = Math.floor((new Date(document.querySelector(".end_time").value)).getTime() / 1000);
					if(now_time < end_time) {
						var diff = end_time - now_time;
						var day = Math.floor(diff / 86400);
						var hour = Math.floor(diff % 86400 / 3600);
						var min = Math.floor(diff % 86400 % 3600 / 60);
						var sec = Math.floor(diff % 86400 % 3600 % 60);
						document.querySelector(".ten").innerHTML = "距离现在还有" + day + "天" + hour + "时" + min + "分" + sec + "秒";
					}
				}, 1000);

			}
			/***********************************
			10个不能重复的随机数要求为55-109的整数，并且将10个随机数里面能够被5整除的数进行叠加
			要将10个随机数打印出来,将被3整除的数打印出来,最后将叠加的结果打印出来
			***********************************/
		</script>
	</body>

</html>